package org.erp.store.domain.dto;

import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;
import java.util.List;
import org.erp.common.enums.DeviceInventoryEvent;
import java.io.Serializable;
import org.erp.store.domain.entity.DeviceInventory;

/**
 * 批量状态更新DTO
 *
 * @author dingding
 * @since 2025-11-12
 */
@Data
public class BatchDeviceInventoryDto implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    private String uuid;

    /**
     * 需要更新的库存ID列表
     */
    private List<InventoryDto> inventoryList;
    
    /**
     * 目标状态事件（枚举）
     */
    private DeviceInventoryEvent targetEvent;
    
    /**
     * 操作人ID
     */
    @NotNull(message = "操作人ID不能为空")
    private Long operateId;;
    
    /**
     * 操作人姓名
     */
    @NotNull(message = "操作人姓名不能为空")
    private String operateName;


    /**
     * 接驳人ID
     */
    private Long transferUserId;
    /**
     * 接驳人
     */
    private String transferUserName;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * 部门名称
     */
     private String deptName;

     private String batchId;

     /**
      * 批量入库设备列表（仅当 targetEvent 为 STORAGE 时使用）
      */
     private List<DeviceInventory> deviceList;

    
     

}
